//package com.yc.cloud.wps.utils;
//
//import com.spire.doc.Document;
//import com.spire.doc.ToPdfParameterList;
//import com.spire.pdf.FileFormat;
//import com.spire.pdf.PdfDocument;
//import com.spire.presentation.Presentation;
//import com.spire.presentation.SaveToPdfOption;
//import com.spire.xls.Workbook;
//
//public class SpireUtils {
//
//    private final int MAX_PAGE_COUNT = 10;
//
//    private SpireUtils() {
//    }
//
//    private static SpireUtils ourInstance = new SpireUtils();
//
//    public static SpireUtils getInstance() {
//        return ourInstance;
//    }
//
//    public boolean pdf2word(String pdfPath, String dstPath) {
//        PdfDocument pdf = new PdfDocument();
//        ;
//        try {
//            pdf.loadFromFile(pdfPath);
//            //pdf.getConvertOptions().setConvertToWordUsingFlow(true);
//            if (dstPath.endsWith(".doc")) {
//                pdf.saveToFile(dstPath, FileFormat.DOC);
//            } else {
//                pdf.saveToFile(dstPath, FileFormat.DOCX);
//            }
//            pdf.dispose();
//            //  prettyWord(dstPath);
//            return true;
//        } catch (Exception e) {
//            e.printStackTrace();
//            pdf.dispose();
//        }
//        return false;
//    }
//
////    public boolean pdf2xlxs(String pdfPath, String dstPath, PdfToXlsxOptions options) {
////        PdfDocument pdf = null;
////        try {
////            pdf = new PdfDocument();
////            pdf.loadFromFile(pdfPath);
////            pdf.getConvertOptions().setPdfToXlsxOptions(new XlsxLineLayoutOptions(options.isConvertToMultipleSheet(), true, true));
////            pdf.saveToFile(dstPath, FileFormat.XLSX);
////            pdf.dispose();
////            return true;
////        } catch (Exception e) {
////            e.printStackTrace();
////            if (pdf != null) {
////                pdf.dispose();
////            }
////        }
////        return false;
////    }
//
//    public boolean pdf2html(String path, String output) {
//        PdfDocument pdf = null;
//        //load the sample PowerPoint file
//        try {
//            pdf = new PdfDocument();
//            //加载PDF
//            pdf.loadFromFile(path);
////保存为HTML格式
//            pdf.saveToFile(output, FileFormat.HTML);
//            pdf.dispose();
//            return true;
//        } catch (Exception e) {
//            e.printStackTrace();
//            if (pdf != null) pdf.dispose();
//        }
//        return false;
//    }
//
//    public boolean pdf2xps(String path, String output) {
//        PdfDocument pdf = new PdfDocument();
//        //load the sample PowerPoint file
//        try {
//            //加载PDF
//            pdf.loadFromFile(path);
////保存为HTML格式
//            pdf.saveToFile(output, FileFormat.XPS);
//            pdf.dispose();
//            return true;
//        } catch (Exception e) {
//            e.printStackTrace();
//            pdf.dispose();
//        }
//        return false;
//    }
//
//
//    public boolean word2pdf(String wordPath, String dstPath) {
//        Document doc = null;
//        try {
//            //Create Document object
//            doc = new Document();
//
//            //Load the file from disk.
//            doc.loadFromFile(wordPath);
//
//            //Create an instance of ToPdfParameterList.
//            ToPdfParameterList ppl = new ToPdfParameterList();
//
//            //Embeds full fonts by default when IsEmbeddedAllFonts is set to true.
//            ppl.isEmbeddedAllFonts(true);
//
//            //Set setDisableLink to true to remove the hyperlink effect for the result PDF page.
//            //Set setDisableLink to false to preserve the hyperlink effect for the result PDF page.
//            ppl.setDisableLink(true);
//
//            //Set the output image quality as 40% of the original image. 80% is the default setting.
//            // doc.setJPEGQuality(40);
//
//            //Save to file.
//            doc.saveToFile(dstPath, ppl);
//            doc.dispose();
//            return true;
//        } catch (Exception e) {
//            e.printStackTrace();
//            if (doc != null) {
//                doc.dispose();
//            }
//        }
//        return false;
//    }
//
//    public boolean word2wps(String wordPath, String dstPath) {
//        Document doc = null;
//        try {
//            //Create Document object
//            doc = new Document();
//
//            //Load the file from disk.
//            doc.loadFromFile(wordPath);
//
//
//            doc.saveToFile(dstPath, com.spire.doc.FileFormat.WPS);
//            doc.dispose();
//            return true;
//        } catch (Exception e) {
//            e.printStackTrace();
//            if (doc != null) {
//                doc.dispose();
//            }
//        }
//        return false;
//    }
//
//    public boolean word2html(String wordPath, String dstPath) {
//        Document document = null;
//        try {
//            document = new Document();
//            document.loadFromFile(wordPath);
//            document.saveToFile(dstPath, com.spire.doc.FileFormat.Html);
//            document.dispose();
//            return true;
//        } catch (Exception e) {
//            e.printStackTrace();
//            if (document != null) {
//                document.dispose();
//            }
//        }
//        return false;
//    }
//
//    public boolean excel2pdf(String srcPath, String dstPath) {
//        //Create a Workbook instance and load an Excel file
//        Workbook workbook = null;
//        try {
//            workbook = new Workbook();
//            ;
//            workbook.loadFromFile(srcPath);
//            //Set worksheets to fit to page when converting
//            workbook.getConverterSetting().setSheetFitToPage(true);
//            // workbook.getConverterSetting().setJPEGQuality(70);
//            //Save the resulting document to a specified path
//            workbook.saveToFile(dstPath, com.spire.xls.FileFormat.PDF);
//            workbook.dispose();
//            return true;
//        } catch (Exception e) {
//            e.printStackTrace();
//            if (workbook != null) workbook.dispose();
//        }
//        return false;
//    }
//
//    public boolean excel2html(String srcPath, String dstPath) {
//        Workbook workbook = null;
//        try {
//            workbook = new Workbook();
//            workbook.loadFromFile(srcPath);
//            workbook.saveToFile(dstPath, com.spire.xls.FileFormat.HTML);
//            workbook.dispose();
//            return true;
//        } catch (Exception e) {
//            e.printStackTrace();
//            if (workbook != null) {
//                workbook.dispose();
//            }
//        }
//        return false;
//    }
//
//
//    public boolean ppt2pdf(String path, String output) {
//        Presentation presentation = null;
//        try {
//            presentation = new Presentation();
//            presentation.loadFromFile(path);
//            SaveToPdfOption option = presentation.getSaveToPdfOption();
//            presentation.saveToFile(output, com.spire.presentation.FileFormat.PDF);
//            presentation.dispose();
//            System.gc();
//            return true;
//        } catch (Exception e) {
//            e.printStackTrace();
//            if (presentation != null) presentation.dispose();
//        }
//
//        return false;
//    }
//
//
//
//    public boolean ppt2html(String path, String output) {
//        //create a Presentataion instance
//        Presentation presentation = null;
//        //load the sample PowerPoint file
//        try {
//            presentation = new Presentation();
//            presentation.loadFromFile(path);
//            //save to PDF file
//            presentation.saveToFile(output, com.spire.presentation.FileFormat.HTML);
//            presentation.dispose();
//            return true;
//        } catch (Exception e) {
//            e.printStackTrace();
//            if (presentation != null) {
//                presentation.dispose();
//            }
//        }
//
//        return false;
//    }
//
//
//    public boolean html2word(String path, String output) {
//        Document document = new Document();
//
//        //load the sample PowerPoint file
//        try {
//            document.loadFromFile(path, com.spire.doc.FileFormat.Html);
//            //save to PDF file
//            document.saveToFile(output, com.spire.doc.FileFormat.Docx);
//            document.dispose();
//            return true;
//        } catch (Exception e) {
//            e.printStackTrace();
//            document.dispose();
//        }
//
//        return false;
//    }
//
//
//
//
//  /*  public boolean  isAvailable(String pdfPath){
//        PdfDocument pdf;
//        try{
//            //Create a PdfDocument instance
//            pdf = new PdfDocument();
//            //Load a PDF file
//            pdf.loadFromFile(pdfPath);
//            //Save to .docx file
//            int pageNumber = pdf.getPages().getCount();
//            pdf.close();
//            if(pageNumber <= MAX_PAGE_COUNT ){
//                return true;
//            }
//        }catch (Exception e){
//            e.printStackTrace();
//            return false;
//        }
//        return  false;
//    }*/
//
//    public boolean isAvailable(PdfDocument pdf) {
//        if (pdf == null) {
//            return false;
//        }
//        int pageNumber = pdf.getPages().getCount();
//        if (pageNumber <= MAX_PAGE_COUNT) {
//            return true;
//        }
//        return false;
//    }
//
//    private void prettyWord(String wordPath) {
//        //对整个段落设置为宋体（默认为英文字体）
//        //创建Word文档
///*        Document document = new Document(wordPath);
//        ParagraphStyle style1 = new ParagraphStyle(document);
//        style1.setName("style");
//        style1.getCharacterFormat().setFontName("宋体");
//        style1.getCharacterFormat().setFontSize(20);
//        document.getStyles().add(style1);
//        paragraph.applyStyle(style1.getName());
//// String fileName = OfficeUtils.getFileNameNoSuffix(new File(wordPath).getName());
//        document.saveToFile("C:\\Users\\TR\\Desktop\\临时\\Pretty.docx", com.spire.doc.FileFormat.Docx);*/
//    }
//
//
//    public static void main(String[] args) {
//        SpireUtils.getInstance().word2pdf("/Users/jackgu/Downloads/test.docx", "/Users/jackgu/Downloads/test.pdf");
//    }
//}
